home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 9.3 KB | 234 lines | [TEXT/MPS ] |
- /*
- File: Video.idl
-
- Contains: Video Driver Interfaces.
-
- Version: Technology: System 7.5
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __VIDEO_IDL__
- #define __VIDEO_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __QUICKDRAW_IDL__
- #include <Quickdraw.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- /* csTimingFormat values in VDTimingInfo */
- /* look in the declaration rom for timing info */
- /*
- Timing mode constants for Display Manager MultiMode support
- Corresponding .h equates are in Video.h
- .a equates are in Video.a
- .r equates are in DepVideoEqu.r
-
- The first enum is the old names (for compatibility).
- The second enum is the new names.
- */
- /* csConnectFlags values in VDDisplayConnectInfo */
- /* csDisplayType values in VDDisplayConnectInfo */
- /* csTimingFlags values in VDTimingInfoRec */
- /* csResolutionFlags bit flags for VDResolutionInfoRec */
- /* Bit definitions for the Get/Set Sync call*/
- /* Bit definitions for the Get/Set Convolution call*/
- typedef SOMLargeStruct VPBlock; /* Derived from a struct of 42 bytes in size */
-
- typedef OpaquePtr VPBlockPtr; /* Substituted OpaquePtr for “VPBlock*” */
-
- typedef SOMFourByteStruct VDEntryRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr VDEntRecPtr; /* Substituted OpaquePtr for “VDEntryRecord*” */
-
- /* Parm block for SetGray control call */
- typedef SOMTwoByteStruct VDGrayRecord; /* Derived from a struct of 2 bytes in size */
-
- typedef OpaquePtr VDGrayPtr; /* Substituted OpaquePtr for “VDGrayRecord*” */
-
- /* Parm block for SetInterrupt call */
- typedef SOMTwoByteStruct VDFlagRecord; /* Derived from a struct of 2 bytes in size */
-
- typedef OpaquePtr VDFlagRecPtr; /* Substituted OpaquePtr for “VDFlagRecord*” */
-
- /* Parm block for SetEntries control call */
- typedef SOMLargeStruct VDSetEntryRecord; /* Derived from a struct of 8 bytes in size */
-
- typedef OpaquePtr VDSetEntryPtr; /* Substituted OpaquePtr for “VDSetEntryRecord*” */
-
- /* Parm block for SetGamma control call */
- typedef SOMFourByteStruct VDGammaRecord; /* Derived from a struct of 4 bytes in size */
-
- typedef OpaquePtr VDGamRecPtr; /* Substituted OpaquePtr for “VDGammaRecord*” */
-
- typedef SOMLargeStruct VDBaseAddressInfoRec; /* Derived from a struct of 14 bytes in size */
-
- typedef OpaquePtr VDBaseAddressInfoPtr; /* Substituted OpaquePtr for “VDBaseAddressInfoRec*” */
-
- typedef SOMLargeStruct VDSwitchInfoRec; /* Derived from a struct of 16 bytes in size */
-
- typedef OpaquePtr VDSwitchInfoPtr; /* Substituted OpaquePtr for “VDSwitchInfoRec*” */
-
- typedef SOMLargeStruct VDTimingInfoRec; /* Derived from a struct of 20 bytes in size */
-
- typedef OpaquePtr VDTimingInfoPtr; /* Substituted OpaquePtr for “VDTimingInfoRec*” */
-
- typedef SOMLargeStruct VDDisplayConnectInfoRec; /* Derived from a struct of 16 bytes in size */
-
- typedef OpaquePtr VDDisplayConnectInfoPtr; /* Substituted OpaquePtr for “VDDisplayConnectInfoRec*” */
-
- /*
- RawSenseCode
- This abstract data type is not exactly abstract. Rather, it is merely enumerated constants
- for the possible raw sense code values when 'standard' sense code hardware is implemented.
-
- For 'standard' sense code hardware, the raw sense is obtained as follows:
- • Instruct the frame buffer controller NOT to actively drive any of the monitor sense lines
- • Read the state of the monitor sense lines 2, 1, and 0. (2 is the MSB, 0 the LSB)
-
- IMPORTANT Note:
- When the 'kTaggingInfoNonStandard' bit of 'csConnectFlags' is FALSE, then these constants
- are valid 'csConnectTaggedType' values in 'VDDisplayConnectInfo'
-
- */
- typedef octet RawSenseCode; /* Substituted octet for unsigned char type */
-
- /*
- ExtendedSenseCode
- This abstract data type is not exactly abstract. Rather, it is merely enumerated constants
- for the values which are possible when the extended sense algorithm is applied to hardware
- which implements 'standard' sense code hardware.
-
- For 'standard' sense code hardware, the extended sense code algorithm is as follows:
- (Note: as described here, sense line 'A' corresponds to '2', 'B' to '1', and 'C' to '0')
- • Drive sense line 'A' low and read the values of 'B' and 'C'.
- • Drive sense line 'B' low and read the values of 'A' and 'C'.
- • Drive sense line 'C' low and read the values of 'A' and 'B'.
-
- In this way, a six-bit number of the form BC/AC/AB is generated.
-
- IMPORTANT Note:
- When the 'kTaggingInfoNonStandard' bit of 'csConnectFlags' is FALSE, then these constants
- are valid 'csConnectTaggedData' values in 'VDDisplayConnectInfo'
-
- */
- typedef octet ExtendedSenseCode; /* Substituted octet for unsigned char type */
-
- /*
- DepthMode
- This abstract data type is used to to reference RELATIVE pixel depths.
- Its definition is largely derived from its past usage, analogous to 'xxxVidMode'
-
- Bits per pixel DOES NOT directly map to 'DepthMode' For example, on some
- graphics hardware, 'kDepthMode1' may represent 1 BPP, whereas on other
- hardware, 'kDepthMode1' may represent 8BPP.
-
- DepthMode IS considered to be ordinal, i.e., operations such as <, >, ==, etc.
- behave as expected. The values of the constants which comprise the set are such
- that 'kDepthMode4 < kDepthMode6' behaves as expected.
- */
- typedef unsigned short DepthMode;
-
- typedef SOMLargeStruct VDPageInfo; /* Derived from a struct of 12 bytes in size */
-
- typedef OpaquePtr VDPgInfoPtr; /* Substituted OpaquePtr for “VDPageInfo*” */
-
- typedef SOMLargeStruct VDSizeInfo; /* Derived from a struct of 8 bytes in size */
-
- typedef OpaquePtr VDSzInfoPtr; /* Substituted OpaquePtr for “VDSizeInfo*” */
-
- typedef SOMLargeStruct VDSettings; /* Derived from a struct of 38 bytes in size */
-
- typedef OpaquePtr VDSettingsPtr; /* Substituted OpaquePtr for “VDSettings*” */
-
- typedef SOMTwoByteStruct VDDefMode; /* Derived from a struct of 2 bytes in size */
-
- typedef OpaquePtr VDDefModePtr; /* Substituted OpaquePtr for “VDDefMode*” */
-
- typedef SOMTwoByteStruct VDSyncInfoRec; /* Derived from a struct of 2 bytes in size */
-
- typedef OpaquePtr VDSyncInfoPtr; /* Substituted OpaquePtr for “VDSyncInfoRec*” */
-
- typedef unsigned long DisplayModeID;
-
- typedef unsigned long VideoDeviceType;
-
- typedef unsigned long GammaTableID;
-
- /* Constants for the GetNextResolution call */
- /* Constants for the GetGammaInfoList call */
- typedef SOMLargeStruct VDResolutionInfoRec; /* Derived from a struct of 30 bytes in size */
-
- typedef OpaquePtr VDResolutionInfoPtr; /* Substituted OpaquePtr for “VDResolutionInfoRec*” */
-
- typedef SOMLargeStruct VDVideoParametersInfoRec; /* Derived from a struct of 22 bytes in size */
-
- typedef OpaquePtr VDVideoParametersInfoPtr; /* Substituted OpaquePtr for “VDVideoParametersInfoRec*” */
-
- typedef SOMLargeStruct VDGammaInfoRec; /* Derived from a struct of 16 bytes in size */
-
- typedef OpaquePtr VDGammaInfoPtr; /* Substituted OpaquePtr for “VDGammaInfoRec*” */
-
- typedef SOMLargeStruct VDGetGammaListRec; /* Derived from a struct of 16 bytes in size */
-
- typedef OpaquePtr VDGetGammaListPtr; /* Substituted OpaquePtr for “VDGetGammaListRec*” */
-
- typedef SOMLargeStruct VDRetrieveGammaRec; /* Derived from a struct of 8 bytes in size */
-
- typedef OpaquePtr VDRetrieveGammaPtr; /* Substituted OpaquePtr for “VDRetrieveGammaRec*” */
-
- typedef SOMLargeStruct VDSetHardwareCursorRec; /* Derived from a struct of 12 bytes in size */
-
- typedef OpaquePtr VDSetHardwareCursorPtr; /* Substituted OpaquePtr for “VDSetHardwareCursorRec*” */
-
- typedef SOMLargeStruct VDDrawHardwareCursorRec; /* Derived from a struct of 20 bytes in size */
-
- typedef OpaquePtr VDDrawHardwareCursorPtr; /* Substituted OpaquePtr for “VDDrawHardwareCursorRec*” */
-
- typedef SOMLargeStruct VDSupportsHardwareCursorRec; /* Derived from a struct of 12 bytes in size */
-
- typedef OpaquePtr VDSupportsHardwareCursorPtr; /* Substituted OpaquePtr for “VDSupportsHardwareCursorRec*” */
-
- typedef SOMLargeStruct VDHardwareCursorDrawStateRec; /* Derived from a struct of 24 bytes in size */
-
- typedef OpaquePtr VDHardwareCursorDrawStatePtr; /* Substituted OpaquePtr for “VDHardwareCursorDrawStateRec*” */
-
- typedef SOMLargeStruct VDConvolutionInfoRec; /* Derived from a struct of 18 bytes in size */
-
- typedef OpaquePtr VDConvolutionInfoPtr; /* Substituted OpaquePtr for “VDConvolutionInfoRec*” */
-
- typedef SOMLargeStruct VDPowerStateRec; /* Derived from a struct of 16 bytes in size */
-
- typedef OpaquePtr VDPowerStatePtr; /* Substituted OpaquePtr for “VDPowerStateRec*” */
-
- /*
- Private Data to video drivers.
-
- In versions of MacOS with multiple address spaces (System 8), the OS
- must know the extent of parameters in order to move them between the caller
- and driver. The old private-selector model for video drivers does not have
- this information so:
-
- For post-7.x Systems private calls should be implemented using the cscPrivateCall
- */
- typedef SOMLargeStruct VDPrivateSelectorDataRec; /* Derived from a struct of 16 bytes in size */
-
- typedef SOMLargeStruct VDPrivateSelectorRec; /* Derived from a struct of 20 bytes in size */
-
-
- #endif /* __SOMIDL__ */
-
- #endif /* __VIDEO_IDL__ */
-
-